#!/bin/bash

# HQ-Reader Linux 构建脚本
# 使用PyInstaller打包应用程序

set -e  # 遇到错误时退出

echo ""
echo "=========================================="
echo "    HQ-Reader Linux 构建脚本"
echo "=========================================="
echo ""

# 获取脚本所在目录（packaging文件夹）
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# 项目根目录是packaging文件夹的上级目录
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"

echo "📁 项目根目录: $PROJECT_ROOT"
echo "📦 打包脚本目录: $SCRIPT_DIR"
echo ""

# 切换到项目根目录
cd "$PROJECT_ROOT"

# 检查Python是否可用
if ! command -v python3 &> /dev/null; then
    echo "错误: Python3未安装或不在PATH中"
    echo "请安装Python3: sudo apt install python3 python3-pip"
    exit 1
fi

# 显示Python版本
echo "Python版本: $(python3 --version)"

# 检查是否在虚拟环境中
if [[ -z "$VIRTUAL_ENV" ]]; then
    echo "警告: 建议在虚拟环境中运行构建"
    echo ""
fi

# 检查系统依赖
echo "检查系统依赖..."

# 检查是否有必要的开发工具
if ! command -v gcc &> /dev/null; then
    echo "警告: 未找到gcc编译器，某些Python包可能无法编译"
    echo "建议安装: sudo apt install build-essential"
fi

# 检查PyInstaller
echo "检查PyInstaller..."
if ! python3 -c "import PyInstaller" &> /dev/null; then
    echo "安装PyInstaller..."
    python3 -m pip install pyinstaller
fi

# 运行构建脚本
echo "开始构建..."
python3 "$SCRIPT_DIR/build.py" --clean

echo ""
echo "构建完成！检查 dist 目录查看生成的文件。"
echo ""

# 如果生成了可执行文件，显示额外信息
if [[ -f "dist/HQ-Reader" ]]; then
    echo "Linux可执行文件已生成: dist/HQ-Reader"
    echo "可以直接运行: ./dist/HQ-Reader"
    echo ""
    
    # 设置执行权限
    chmod +x dist/HQ-Reader
    echo "已设置执行权限。"
fi 